package webserver.bank;

import java.lang.reflect.InvocationTargetException;

public interface GenericObjectCreater
{
	/**
	 * @param object
	 *            name of the object which should be created
	 * @param constructorParameters
	 *            the parameters to the constructor (if none this should be
	 *            null)
	 * @param constructorParameterTypes
	 *            the parameterTypes for the constructor
	 * @return the created object
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws IllegalAccessException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws IllegalArgumentException
	 * @throws InvocationTargetException
	 */
	Object createObject(String object, Object[] constructorParameters,
			String[] constructorParameterTypes) throws ClassNotFoundException,
			InstantiationException, IllegalAccessException, SecurityException,
			NoSuchMethodException, IllegalArgumentException,
			InvocationTargetException;
}
